<?php

namespace App\Services\Applet\Payment;

/**
 *
 */
interface PaymentInterface
{
    /**
     * app支付
     * @param string $subject 标题
     * @param string $orderNo 订单号
     * @param int $orderPrice 订单金额
     * @param array $batchOptional 其他参数
     * @return mixed
     */
    public function appPay(string $subject, string $orderNo, int $orderPrice, array $batchOptional): array;

    /**
     * h5支付
     * @return mixed
     */
    public function jsApiPay(string $subject, string $orderNo, int $orderPrice, array $batchOptional);

    /**
     * 取消支付订单
     * @return mixed
     */
    public function cancelPay(string $orderNo);

    /**
     * 查询支付订单
     * @param string $orderNo 订单号
     * @return mixed
     */
    public function query(string $orderNo);
}
